[INFO] cloning repository https://github.com/sawmurai/phpls-rs
[INFO] running `Command { std: "git" "-c" "credential.helper=" "-c" "credential.helper=/workspace/cargo-home/bin/git-credential-null" "clone" "--bare" "https://github.com/sawmurai/phpls-rs" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsawmurai%2Fphpls-rs", kill_on_drop: false }`
[INFO] [stderr] Cloning into bare repository '/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsawmurai%2Fphpls-rs'...
[INFO] running `Command { std: "git" "rev-parse" "HEAD", kill_on_drop: false }`
[INFO] [stdout] f96a6857e6f71c232dd51d5506df73c7d659420b
[INFO] testing sawmurai/phpls-rs against master#1f7f8ea0721a3b1eb73e6c6d25cccb371434b320 for pr-154065-1
[INFO] running `Command { std: "git" "clone" "/workspace/cache/git-repos/https%3A%2F%2Fgithub.com%2Fsawmurai%2Fphpls-rs" "/workspace/builds/worker-6-tc1/source", kill_on_drop: false }`
[INFO] [stderr] Cloning into '/workspace/builds/worker-6-tc1/source'...
[INFO] [stderr] done.
[INFO] started tweaking git repo https://github.com/sawmurai/phpls-rs
[INFO] finished tweaking git repo https://github.com/sawmurai/phpls-rs
[INFO] tweaked toml for git repo https://github.com/sawmurai/phpls-rs written to /workspace/builds/worker-6-tc1/source/Cargo.toml
[INFO] validating manifest of git repo https://github.com/sawmurai/phpls-rs on toolchain 1f7f8ea0721a3b1eb73e6c6d25cccb371434b320
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate git repo https://github.com/sawmurai/phpls-rs already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] [stderr]     Updating crates.io index
[INFO] [stderr]  Downloading crates ...
[INFO] [stderr]   Downloaded futures-macro v0.3.21
[INFO] [stderr]   Downloaded tower-lsp-macros v0.5.0
[INFO] [stderr]   Downloaded indextree v4.3.1
[INFO] [stderr]   Downloaded auto_impl v0.5.0
[INFO] [stderr]   Downloaded crossbeam-utils v0.8.7
[INFO] [stderr]   Downloaded parking_lot v0.12.0
[INFO] [stderr]   Downloaded tower-lsp v0.15.1
[INFO] [stderr]   Downloaded mio v0.8.0
[INFO] [stderr]   Downloaded tokio-util v0.7.0
[INFO] [stderr]   Downloaded ignore v0.4.18
[INFO] [stderr]   Downloaded lsp-types v0.92.0
[INFO] [stderr]   Downloaded parking_lot_core v0.9.1
[INFO] [stderr]   Downloaded dashmap v5.1.0
[INFO] [stderr]   Downloaded ntapi v0.3.7
[INFO] [stderr]   Downloaded regex v1.4.6
[INFO] [stderr]   Downloaded tokio v1.17.0
[INFO] [stderr]   Downloaded libc v0.2.118
[INFO] [stderr]   Downloaded windows-sys v0.32.0
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] [stdout] e74fcac3b47a62628c6ce2853969710e8844628e4ea5151c4285d453ad590c2b
[INFO] running `Command { std: "docker" "start" "-a" "e74fcac3b47a62628c6ce2853969710e8844628e4ea5151c4285d453ad590c2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "e74fcac3b47a62628c6ce2853969710e8844628e4ea5151c4285d453ad590c2b", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "e74fcac3b47a62628c6ce2853969710e8844628e4ea5151c4285d453ad590c2b", kill_on_drop: false }`
[INFO] [stdout] e74fcac3b47a62628c6ce2853969710e8844628e4ea5151c4285d453ad590c2b
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-6-tc1/source:/opt/rustwide/workdir:ro,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=--cap-lints=forbid" "-e" "RUSTDOCFLAGS=--cap-lints=forbid" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-w" "/opt/rustwide/workdir" "-m" "1610612736" "--user" "0:0" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:d429b63d4308055ea97f60fb1d3dfca48854a00942f1bd2ad806beaf015945ec" "/opt/rustwide/cargo-home/bin/cargo" "+1f7f8ea0721a3b1eb73e6c6d25cccb371434b320" "build" "--frozen" "--message-format=json", kill_on_drop: false }`
[INFO] [stdout] d36ff8b947a842b35d3beeaf41318f8a250dd283e6f5cb24125796fad2bba965
[INFO] running `Command { std: "docker" "start" "-a" "d36ff8b947a842b35d3beeaf41318f8a250dd283e6f5cb24125796fad2bba965", kill_on_drop: false }`
[INFO] [stderr]    Compiling proc-macro2 v1.0.36
[INFO] [stderr]    Compiling unicode-xid v0.2.2
[INFO] [stderr]    Compiling syn v1.0.86
[INFO] [stderr]    Compiling libc v0.2.118
[INFO] [stderr]    Compiling memchr v2.3.4
[INFO] [stderr]    Compiling version_check v0.9.4
[INFO] [stderr]    Compiling log v0.4.14
[INFO] [stderr]    Compiling serde_derive v1.0.136
[INFO] [stderr]    Compiling parking_lot_core v0.9.1
[INFO] [stderr]    Compiling futures-core v0.3.21
[INFO] [stderr]    Compiling tinyvec_macros v0.1.0
[INFO] [stderr]    Compiling serde v1.0.136
[INFO] [stderr]    Compiling scopeguard v1.1.0
[INFO] [stderr]    Compiling smallvec v1.8.0
[INFO] [stderr]    Compiling lock_api v0.4.6
[INFO] [stderr]    Compiling proc-macro-error-attr v1.0.4
[INFO] [stderr]    Compiling tinyvec v1.5.1
[INFO] [stderr]    Compiling pin-project-lite v0.2.8
[INFO] [stderr]    Compiling matches v0.1.9
[INFO] [stderr]    Compiling once_cell v1.9.0
[INFO] [stderr]    Compiling futures-task v0.3.21
[INFO] [stderr]    Compiling futures-sink v0.3.21
[INFO] [stderr]    Compiling futures-channel v0.3.21
[INFO] [stderr]    Compiling num_cpus v1.13.1
[INFO] [stderr]    Compiling proc-macro-error v1.0.4
[INFO] [stderr]    Compiling serde_json v1.0.79
[INFO] [stderr]    Compiling crossbeam-utils v0.8.7
[INFO] [stderr]    Compiling futures-util v0.3.21
[INFO] [stderr]    Compiling quote v1.0.15
[INFO] [stderr]    Compiling parking_lot v0.12.0
[INFO] [stderr]    Compiling unicode-bidi v0.3.7
[INFO] [stderr]    Compiling percent-encoding v2.1.0
[INFO] [stderr]    Compiling form_urlencoded v1.0.1
[INFO] [stderr]    Compiling mio v0.8.0
[INFO] [stderr]    Compiling signal-hook-registry v1.4.0
[INFO] [stderr]    Compiling socket2 v0.4.4
[INFO] [stderr]    Compiling unicode-normalization v0.1.19
[INFO] [stderr]    Compiling nom v7.1.0
[INFO] [stderr]    Compiling aho-corasick v0.7.15
[INFO] [stderr]    Compiling bytes v1.1.0
[INFO] [stderr]    Compiling futures-io v0.3.21
[INFO] [stderr]    Compiling itoa v1.0.1
[INFO] [stderr]    Compiling ryu v1.0.9
[INFO] [stderr]    Compiling doc-comment v0.3.3
[INFO] [stderr]    Compiling async-trait v0.1.52
[INFO] [stderr]    Compiling slab v0.4.5
[INFO] [stderr]    Compiling regex-syntax v0.6.25
[INFO] [stderr]    Compiling idna v0.2.3
[INFO] [stderr]    Compiling bstr v0.2.15
[INFO] [stderr]    Compiling unicode-width v0.1.9
[INFO] [stderr]    Compiling heck v0.4.0
[INFO] [stderr]    Compiling textwrap v0.11.0
[INFO] [stderr]    Compiling walkdir v2.3.2
[INFO] [stderr]    Compiling dashmap v5.1.0
[INFO] [stderr]    Compiling atty v0.2.14
[INFO] [stderr]    Compiling thread_local v1.1.4
[INFO] [stderr]    Compiling ansi_term v0.12.1
[INFO] [stderr]    Compiling tower-service v0.3.1
[INFO] [stderr]    Compiling vec_map v0.8.2
[INFO] [stderr]    Compiling strsim v0.8.0
[INFO] [stderr]    Compiling clap v2.34.0
[INFO] [stderr]    Compiling crossbeam-channel v0.5.2
[INFO] [stderr]    Compiling spmc v0.3.0
[INFO] [stderr]    Compiling indextree v4.3.1
[INFO] [stderr]    Compiling regex v1.4.6
[INFO] [stderr]    Compiling globset v0.4.8
[INFO] [stderr]    Compiling ignore v0.4.18
[INFO] [stderr]    Compiling futures-macro v0.3.21
[INFO] [stderr]    Compiling tokio-macros v1.7.0
[INFO] [stderr]    Compiling serde_repr v0.1.7
[INFO] [stderr]    Compiling auto_impl v0.5.0
[INFO] [stderr]    Compiling tower-lsp-macros v0.5.0
[INFO] [stderr]    Compiling tokio v1.17.0
[INFO] [stderr]    Compiling snafu-derive v0.6.10
[INFO] [stderr]    Compiling snafu v0.6.10
[INFO] [stderr]    Compiling futures v0.3.21
[INFO] [stderr]    Compiling tokio-util v0.7.0
[INFO] [stderr]    Compiling url v2.2.2
[INFO] [stderr]    Compiling lsp-types v0.92.0
[INFO] [stderr]    Compiling tower-lsp v0.15.1
[INFO] [stderr]    Compiling phpls-rs v0.1.0 (/opt/rustwide/workdir)
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/parser/ast/attributes.rs:129:25
[INFO] [stdout]     |
[INFO] [stdout] 129 |           let expected = "\
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 130 | |
[INFO] [stdout] 131 | | class Test
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/parser/ast/attributes.rs:163:25
[INFO] [stdout]     |
[INFO] [stdout] 163 |           let expected = "\
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 164 | |
[INFO] [stdout] 165 | | class Test
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/parser/ast/attributes.rs:195:25
[INFO] [stdout]     |
[INFO] [stdout] 195 |           let expected = "\
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 196 | |
[INFO] [stdout] 197 | | class Test
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/parser/ast/attributes.rs:227:25
[INFO] [stdout]     |
[INFO] [stdout] 227 |           let expected = "\
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 228 | |
[INFO] [stdout] 229 | | class Test
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/parser/ast/attributes.rs:260:25
[INFO] [stdout]     |
[INFO] [stdout] 260 |           let expected = "\
[INFO] [stdout]     |  _________________________^
[INFO] [stdout] 261 | |
[INFO] [stdout] 262 | | function test(#[Attr('lol')] string $theAttr)
[INFO] [stdout]     | |_^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/parser/ast/attributes.rs:305:20
[INFO] [stdout]     |
[INFO] [stdout] 305 |               "<?php \
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 306 | |             
[INFO] [stdout] 307 | |             $x = #[Attr('lol')] function (string $theAttr) { };",
[INFO] [stdout]     | |____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple lines skipped by escaped newline
[INFO] [stdout]    --> src/parser/ast/attributes.rs:334:20
[INFO] [stdout]     |
[INFO] [stdout] 334 |               "<?php \
[INFO] [stdout]     |  ____________________^
[INFO] [stdout] 335 | |             
[INFO] [stdout] 336 | |             $x = #[Attr('lol')] fn (string $theAttr) => 'lol';",
[INFO] [stdout]     | |____________^ skipping everything up to and including this point
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused imports: `Position` and `Range`
[INFO] [stdout]  --> src/environment/import.rs:7:28
[INFO] [stdout]   |
[INFO] [stdout] 7 | use tower_lsp::lsp_types::{Position, Range};
[INFO] [stdout]   |                            ^^^^^^^^  ^^^^^
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/environment/visitor/mod.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout]  36 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/environment/visitor/workspace_symbol.rs:161:33
[INFO] [stdout]     |
[INFO] [stdout] 161 |                     deprecated: deprecated_from_doc!(doc_comment),
[INFO] [stdout]     |                                 --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: `#[deny(semicolon_in_expressions_from_macros)]` (part of `#[deny(future_incompatible)]`) on by default
[INFO] [stdout]     = note: this error originates in the macro `deprecated_from_doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/environment/visitor/mod.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout]  36 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/environment/visitor/workspace_symbol.rs:197:33
[INFO] [stdout]     |
[INFO] [stdout] 197 |                     deprecated: deprecated_from_doc!(doc_comment),
[INFO] [stdout]     |                                 --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `deprecated_from_doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/environment/visitor/mod.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout]  36 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/environment/visitor/workspace_symbol.rs:230:33
[INFO] [stdout]     |
[INFO] [stdout] 230 |                     deprecated: deprecated_from_doc!(doc_comment),
[INFO] [stdout]     |                                 --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `deprecated_from_doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/environment/visitor/mod.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout]  36 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/environment/visitor/workspace_symbol.rs:242:34
[INFO] [stdout]     |
[INFO] [stdout] 242 |                 let deprecated = deprecated_from_doc!(doc_comment);
[INFO] [stdout]     |                                  --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `deprecated_from_doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/environment/visitor/mod.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout]  36 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/environment/visitor/workspace_symbol.rs:300:34
[INFO] [stdout]     |
[INFO] [stdout] 300 |                 let deprecated = deprecated_from_doc!(doc_comment);
[INFO] [stdout]     |                                  --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `deprecated_from_doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/environment/visitor/mod.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout]  36 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/environment/visitor/workspace_symbol.rs:375:33
[INFO] [stdout]     |
[INFO] [stdout] 375 |                     deprecated: deprecated_from_doc!(doc_comment),
[INFO] [stdout]     |                                 --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `deprecated_from_doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/environment/visitor/mod.rs:36:10
[INFO] [stdout]     |
[INFO] [stdout]  36 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout]     |
[INFO] [stdout]    ::: src/environment/visitor/workspace_symbol.rs:471:33
[INFO] [stdout]     |
[INFO] [stdout] 471 |                     deprecated: deprecated_from_doc!(doc_comment),
[INFO] [stdout]     |                                 --------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `deprecated_from_doc` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `Node`
[INFO] [stdout]  --> src/formatter/classes/mod.rs:2:28
[INFO] [stdout]   |
[INFO] [stdout] 2 |     node::{ClassStatement, Node},
[INFO] [stdout]   |                            ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:49:10
[INFO] [stdout]     |
[INFO] [stdout]  49 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 135 |                     optional_ident_list!(" extends ", "", extends, line, col, options),
[INFO] [stdout]     |                     ------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident_list` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:64:10
[INFO] [stdout]     |
[INFO] [stdout]  64 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 150 |                     optional_ident!(" extends ", "", stmt.extends.as_ref(), line, col, options),
[INFO] [stdout]     |                     --------------------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:49:10
[INFO] [stdout]     |
[INFO] [stdout]  49 |           };
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 151 | /                     optional_ident_list!(
[INFO] [stdout] 152 | |                         " implements ",
[INFO] [stdout] 153 | |                         "",
[INFO] [stdout] 154 | |                         stmt.implements.as_ref(),
[INFO] [stdout] ...   |
[INFO] [stdout] 157 | |                         options
[INFO] [stdout] 158 | |                     ),
[INFO] [stdout]     | |_____________________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident_list` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:49:10
[INFO] [stdout]     |
[INFO] [stdout]  49 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 773 |                 optional_ident_list!("(", ")", uses, line, col, options),
[INFO] [stdout]     |                 -------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `optional_ident_list`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident_list` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:49:10
[INFO] [stdout]     |
[INFO] [stdout]  49 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 821 |                 optional_ident_list!("(", ")", arguments, line, col, options),
[INFO] [stdout]     |                 ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `optional_ident_list`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident_list` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:64:10
[INFO] [stdout]     |
[INFO] [stdout]  64 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 822 |                 optional_ident!(" extends ", "", extends, line, col, options),
[INFO] [stdout]     |                 ------------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `optional_ident`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:49:10
[INFO] [stdout]     |
[INFO] [stdout]  49 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 823 |                 optional_ident_list!(" implements ", "", implements, line, col, options),
[INFO] [stdout]     |                 ------------------------------------------------------------------------ in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = note: macro invocations at the end of a block are treated as expressions
[INFO] [stdout]     = note: to ignore the value produced by the macro, add a semicolon after the invocation of `optional_ident_list`
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident_list` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:64:10
[INFO] [stdout]     |
[INFO] [stdout]  64 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 940 |             parts.push(optional_ident!("", " ", argument_type, line, col, options));
[INFO] [stdout]     |                        ----------------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:64:10
[INFO] [stdout]     |
[INFO] [stdout]  64 |           };
[INFO] [stdout]     |            ^
[INFO] [stdout] ...
[INFO] [stdout] 944 |               parts.push(optional_ident!(
[INFO] [stdout]     |  ________________________-
[INFO] [stdout] 945 | |                 " = ",
[INFO] [stdout] 946 | |                 " ",
[INFO] [stdout] 947 | |                 default_value,
[INFO] [stdout] ...   |
[INFO] [stdout] 950 | |                 options
[INFO] [stdout] 951 | |             ));
[INFO] [stdout]     | |_____________- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error: trailing semicolon in macro used in expression position
[INFO] [stdout]    --> src/formatter/mod.rs:64:10
[INFO] [stdout]     |
[INFO] [stdout]  64 |         };
[INFO] [stdout]     |          ^
[INFO] [stdout] ...
[INFO] [stdout] 972 |             parts.push(optional_ident!("", " ", key, line, col, options));
[INFO] [stdout]     |                        ------------------------------------------------- in this macro invocation
[INFO] [stdout]     |
[INFO] [stdout]     = warning: this was previously accepted by the compiler but is being phased out; it will become a hard error in a future release!
[INFO] [stdout]     = note: for more information, see issue #79813 <https://github.com/rust-lang/rust/issues/79813>
[INFO] [stdout]     = note: this error originates in the macro `optional_ident` (in Nightly builds, run with -Z macro-backtrace for more info)
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused import: `ops::Deref`
[INFO] [stdout]  --> src/parser/node.rs:4:23
[INFO] [stdout]   |
[INFO] [stdout] 4 | use std::{iter::Skip, ops::Deref, slice::Iter};
[INFO] [stdout]   |                       ^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lsp_types::SymbolInformation::deprecated`: Use tags instead
[INFO] [stdout]   --> src/backend/symbol.rs:37:25
[INFO] [stdout]    |
[INFO] [stdout] 37 |                         deprecated: None,
[INFO] [stdout]    |                         ^^^^^^^^^^^^^^^^
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(deprecated)]` on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: use of deprecated field `lsp_types::DocumentSymbol::deprecated`: Use tags instead
[INFO] [stdout]    --> src/environment/symbol.rs:772:13
[INFO] [stdout]     |
[INFO] [stdout] 772 |             deprecated: None,
[INFO] [stdout]     |             ^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/environment/visitor/workspace_symbol.rs:42:21
[INFO] [stdout]    |
[INFO] [stdout] 42 |                 let mut file_symbol = if let Some(grandparent) = arena[parent].parent() {
[INFO] [stdout]    |                     ----^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout]    |
[INFO] [stdout]    = note: `#[warn(unused_mut)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: variable does not need to be mutable
[INFO] [stdout]   --> src/environment/visitor/workspace_symbol.rs:60:21
[INFO] [stdout]    |
[INFO] [stdout] 60 |                 let mut class_symbol = arena[parent].get_mut();
[INFO] [stdout]    |                     ----^^^^^^^^^^^^
[INFO] [stdout]    |                     |
[INFO] [stdout]    |                     help: remove this `mut`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `spans`
[INFO] [stdout]  --> src/formatter/classes/mod.rs:9:5
[INFO] [stdout]   |
[INFO] [stdout] 9 |     spans: &mut Vec<Span>,
[INFO] [stdout]   |     ^^^^^ help: if this is intentional, prefix it with an underscore: `_spans`
[INFO] [stdout]   |
[INFO] [stdout]   = note: `#[warn(unused_variables)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `tokens`
[INFO] [stdout]   --> src/formatter/classes/mod.rs:10:5
[INFO] [stdout]    |
[INFO] [stdout] 10 |     tokens: &[Token],
[INFO] [stdout]    |     ^^^^^^ help: if this is intentional, prefix it with an underscore: `_tokens`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `stmt`
[INFO] [stdout]   --> src/formatter/classes/mod.rs:11:5
[INFO] [stdout]    |
[INFO] [stdout] 11 |     stmt: &ClassStatement,
[INFO] [stdout]    |     ^^^^ help: if this is intentional, prefix it with an underscore: `_stmt`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `lvl`
[INFO] [stdout]   --> src/formatter/classes/mod.rs:12:5
[INFO] [stdout]    |
[INFO] [stdout] 12 |     lvl: u8,
[INFO] [stdout]    |     ^^^ help: if this is intentional, prefix it with an underscore: `_lvl`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: unused variable: `mtch`
[INFO] [stdout]     --> src/parser/node.rs:1815:27
[INFO] [stdout]      |
[INFO] [stdout] 1815 |             Node::Match { mtch, oc, cc, .. } => (oc, cc).into(),
[INFO] [stdout]      |                           ^^^^ help: try ignoring the field: `mtch: _`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: field `ignore_patterns` is never read
[INFO] [stdout]    --> src/backend/mod.rs:108:5
[INFO] [stdout]     |
[INFO] [stdout]  97 | pub struct Backend {
[INFO] [stdout]     |            ------- field in this struct
[INFO] [stdout] ...
[INFO] [stdout] 108 |     ignore_patterns: Vec<PathBuf>,
[INFO] [stdout]     |     ^^^^^^^^^^^^^^^
[INFO] [stdout]     |
[INFO] [stdout]     = note: `#[warn(dead_code)]` (part of `#[warn(unused)]`) on by default
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `class_stmt_to_spans` is never used
[INFO] [stdout]  --> src/formatter/classes/mod.rs:8:15
[INFO] [stdout]   |
[INFO] [stdout] 8 | pub(crate) fn class_stmt_to_spans(
[INFO] [stdout]   |               ^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `expression_stmt_to_spans` is never used
[INFO] [stdout]   --> src/formatter/expressions.rs:18:15
[INFO] [stdout]    |
[INFO] [stdout] 18 | pub(crate) fn expression_stmt_to_spans(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `binary_to_spans` is never used
[INFO] [stdout]   --> src/formatter/expressions.rs:59:15
[INFO] [stdout]    |
[INFO] [stdout] 59 | pub(crate) fn binary_to_spans(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `while_to_spans` is never used
[INFO] [stdout]   --> src/formatter/loops.rs:12:15
[INFO] [stdout]    |
[INFO] [stdout] 12 | pub(crate) fn while_to_spans(
[INFO] [stdout]    |               ^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Chunk` is never constructed
[INFO] [stdout]   --> src/formatter/v2.rs:19:19
[INFO] [stdout]    |
[INFO] [stdout] 19 | pub(crate) struct Chunk {
[INFO] [stdout]    |                   ^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: associated items `new`, `single`, `unspaced`, `with_space_after`, `right_offset`, and `left_offset` are never used
[INFO] [stdout]   --> src/formatter/v2.rs:53:12
[INFO] [stdout]    |
[INFO] [stdout] 52 | impl Chunk {
[INFO] [stdout]    | ---------- associated items in this implementation
[INFO] [stdout] 53 |     pub fn new(tokens: &[Token]) -> Self {
[INFO] [stdout]    |            ^^^
[INFO] [stdout] ...
[INFO] [stdout] 61 |     pub fn single(token: Token) -> Self {
[INFO] [stdout]    |            ^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 69 |     pub fn unspaced(tokens: &[Token]) -> Self {
[INFO] [stdout]    |            ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 77 |     pub fn with_space_after(self) -> Self {
[INFO] [stdout]    |            ^^^^^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 85 |     pub fn right_offset(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 90 |     pub fn left_offset(&self) -> usize {
[INFO] [stdout]    |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: struct `Span` is never constructed
[INFO] [stdout]    --> src/formatter/v2.rs:108:19
[INFO] [stdout]     |
[INFO] [stdout] 108 | pub(crate) struct Span {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: multiple associated items are never used
[INFO] [stdout]    --> src/formatter/v2.rs:155:19
[INFO] [stdout]     |
[INFO] [stdout] 154 | impl Span {
[INFO] [stdout]     | --------- associated items in this implementation
[INFO] [stdout] 155 |     pub(crate) fn new(chunks: Vec<Chunk>, spans: Vec<Span>, lvl: u8) -> Self {
[INFO] [stdout]     |                   ^^^
[INFO] [stdout] ...
[INFO] [stdout] 164 |     pub(crate) fn unspaced(chunks: Vec<Chunk>, spans: Vec<Span>, lvl: u8) -> Self {
[INFO] [stdout]     |                   ^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 173 |     pub(crate) fn leaf(chunks: Vec<Chunk>, lvl: u8) -> Self {
[INFO] [stdout]     |                   ^^^^
[INFO] [stdout] ...
[INFO] [stdout] 183 |     pub fn right_offset(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 188 |     pub fn left_offset(&self) -> usize {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 196 |     pub fn right_extend(&mut self, chunk: Chunk) {
[INFO] [stdout]     |            ^^^^^^^^^^^^
[INFO] [stdout] ...
[INFO] [stdout] 212 |     pub fn left_extend(&mut self, chunk: Chunk) {
[INFO] [stdout]     |            ^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `next_that` is never used
[INFO] [stdout]    --> src/formatter/v2.rs:226:15
[INFO] [stdout]     |
[INFO] [stdout] 226 | pub(crate) fn next_that(from: usize, tokens: &[Token], f: &dyn Fn(&Token) -> bool) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `prev_that` is never used
[INFO] [stdout]    --> src/formatter/v2.rs:236:15
[INFO] [stdout]     |
[INFO] [stdout] 236 | pub(crate) fn prev_that(from: usize, tokens: &[Token], f: &dyn Fn(&Token) -> bool) -> usize {
[INFO] [stdout]     |               ^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `pre_statement_span` is never used
[INFO] [stdout]    --> src/formatter/v2.rs:248:15
[INFO] [stdout]     |
[INFO] [stdout] 248 | pub(crate) fn pre_statement_span(token_offset: usize, tokens: &[Token], lvl: u8) -> Span {
[INFO] [stdout]     |               ^^^^^^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `ast_to_spans` is never used
[INFO] [stdout]    --> src/formatter/v2.rs:268:15
[INFO] [stdout]     |
[INFO] [stdout] 268 | pub(crate) fn ast_to_spans(
[INFO] [stdout]     |               ^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: function `node_to_spans` is never used
[INFO] [stdout]    --> src/formatter/v2.rs:325:15
[INFO] [stdout]     |
[INFO] [stdout] 325 | pub(crate) fn node_to_spans(node: &Node, tokens: &[Token], lvl: u8) -> Vec<Span> {
[INFO] [stdout]     |               ^^^^^^^^^^^^^
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's elided elsewhere is confusing
[INFO] [stdout]   --> src/environment/import.rs:20:16
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn all(&self) -> std::slice::Iter<SymbolImport> {
[INFO] [stdout]    |                ^^^^^     ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]    |                |
[INFO] [stdout]    |                the lifetime is elided here
[INFO] [stdout]    |
[INFO] [stdout]    = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout]    = note: `#[warn(mismatched_lifetime_syntaxes)]` on by default
[INFO] [stdout] help: use `'_` for type paths
[INFO] [stdout]    |
[INFO] [stdout] 20 |     pub fn all(&self) -> std::slice::Iter<'_, SymbolImport> {
[INFO] [stdout]    |                                           +++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/environment/symbol.rs:448:26
[INFO] [stdout]     |
[INFO] [stdout] 444 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 447 |         arena: &'a Arena<Self>,
[INFO] [stdout]     |                 -- the lifetime is named here
[INFO] [stdout] 448 |     ) -> HashMap<String, SymbolAlias> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 448 |     ) -> HashMap<String, SymbolAlias<'a>> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/environment/symbol.rs:475:26
[INFO] [stdout]     |
[INFO] [stdout] 471 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 474 |         arena: &'a Arena<Self>,
[INFO] [stdout]     |                 -- the lifetime is named here
[INFO] [stdout] 475 |     ) -> HashMap<String, SymbolAlias> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 475 |     ) -> HashMap<String, SymbolAlias<'a>> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: hiding a lifetime that's named elsewhere is confusing
[INFO] [stdout]    --> src/environment/symbol.rs:617:26
[INFO] [stdout]     |
[INFO] [stdout] 613 |         &'a self,
[INFO] [stdout]     |          -- the lifetime is named here
[INFO] [stdout] ...
[INFO] [stdout] 616 |         arena: &'a Arena<Self>,
[INFO] [stdout]     |                 -- the lifetime is named here
[INFO] [stdout] 617 |     ) -> HashMap<String, SymbolAlias> {
[INFO] [stdout]     |                          ^^^^^^^^^^^ the same lifetime is hidden here
[INFO] [stdout]     |
[INFO] [stdout]     = help: the same lifetime is referred to in inconsistent ways, making the signature confusing
[INFO] [stdout] help: consistently use `'a`
[INFO] [stdout]     |
[INFO] [stdout] 617 |     ) -> HashMap<String, SymbolAlias<'a>> {
[INFO] [stdout]     |                                     ++++
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `phpls-rs` (bin "phpls-rs") due to 34 previous errors; 37 warnings emitted
[INFO] running `Command { std: "docker" "inspect" "d36ff8b947a842b35d3beeaf41318f8a250dd283e6f5cb24125796fad2bba965", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "d36ff8b947a842b35d3beeaf41318f8a250dd283e6f5cb24125796fad2bba965", kill_on_drop: false }`
[INFO] [stdout] d36ff8b947a842b35d3beeaf41318f8a250dd283e6f5cb24125796fad2bba965
